package com.macro.mall.tiny.modules.pms.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.macro.mall.tiny.dto.PmsProductCateChildrenDTO;
import com.macro.mall.tiny.dto.PmsProductCategoryDTO;
import com.macro.mall.tiny.modules.pms.model.PmsProductCategory;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 产品分类 服务类
 * </p>
 *
 * @author macro
 * @since 2024-08-15
 */
public interface PmsProductCategoryService extends IService<PmsProductCategory> {

    /**
     * 分页查询产品分类
     */
    Page<PmsProductCategory> list(Long parentId, Integer pageSize, Integer pageNum);

    /**
     * 修改产品分类显示状态
     */
    boolean updateShowStatus(Long ids, Integer showStatus);

    /**
     * 修改产品分类导航栏显示
     */
    boolean updateNavStatus(Long ids, Integer navStatus);

    /**
     * 创建产品分类
     */
    boolean create(PmsProductCategoryDTO pmsProductCategoryDTO);

    /**
     * 更新产品分类
     */
    boolean update(PmsProductCategoryDTO pmsProductCategoryDTO);

    /**
     * 删除产品分类
     */
    boolean delete(Long id);

    List<PmsProductCateChildrenDTO> listWithChildren();
}
